# -调用os模块
import os
mk1 = os.mkdir('c:/text')
print(mk1)
mk2 = os.mkdir('c:/text/123')
print(mk2)

# -创建3个txt文件
doc_1 = open('c:/text/1.txt','a')
doc_1.write(r'hello,python\n'*10)
doc_1.close()
doc_1 = open(r'c:/text/2.txt','a')
doc_1.write('hello,python\n'*10)
doc_1.close()
doc_1 = open(r'c:/text/3.txt','a')
doc_1.write('hello,python\n'*10)
doc_1.close()
doc_1 = open('c:/text/123/1.txt','a')
doc_1.write(r'hello,python\n'*10)
doc_1.close()
doc_1 = open(r'c:/text/123/2.txt','a')
doc_1.write('hello,python\n'*10)
doc_1.close()
doc_1 = open(r'c:/text/123/3.txt','a')
doc_1.write('hello,python\n'*10)
doc_1.close()

# -定义find_1为显示当前文件夹内有多少文件，然后输出find_1
find_1 = os.listdir(r'c:/text')
print(find_1)

# -统计上面新建文件夹内文件的大小
size1 = 0
for f in os.listdir(r'c:/text'):
    f1 = os.path.join(r'c:/text', f)
    if os.path.isfile(f1):
        os.path.getsize(f1)
    size1 = size1 + os.path.getsize(f1)
print(size1)

# -根据上面代码思路创建一个函数用于统计文件夹内文件大小
size1 = 0
def Stat_file(dir):
    '''
    统计指定文件夹内文件大小的和
    :param dir:
    :return:
    '''
    global size1
    find_1 = os.listdir(dir)
    for f in find_1:
        file1 = os.path.join(dir, f)
        if os.path.isfile(file1):
            os.path.getsize(file1)
            size1 = size1 + os.path.getsize(file1)
        if os.path.isdir(file1):
            Stat_file(file1)    # -递归调用自己（Stat_file(file1)），实现子目录统计文件大小
    return size1

print(Stat_file('c:/text'))



